Skip Navigation LinksAna sayfa : Flash yazılarım
Kategorilerim

En son beş flash AS3 notum...

Planlanan yazılarım...

Bu kategoride planlanan bir yazı yok...

flash AS3 yazilarim...

25.02.2010
AS3 3D fotograf galaresi hazırlama
Arkadaşlar nihayet bu yazımıda yazmaya vakit bulabildim.

Şimdi hep birlikte üc boyutlu bir resim galerisi hazırlayacağız. Profesyonel üç boyut olmayacak tabiki ama Mouse yönüne göre resimlerimize hareket yönü belirleyeceğiz.

Bildiğiniz gibi profesyonel uc boyutlar Autodesk Inventor, 3D Max gibi profesonel programlarda hazırlanabiliniyor.

Proje örneğimizi aşağıda görebilirsiniz.

Sırası ile yapacaklarımız.

  • Projeye hazırlanış
  • Yeni bir flash document oluşturuyoruz.
  • Resimlerimizi eklemek için 110x100 boyutlarında bir movie clip oluşturuyoruz
  • Bu movie Clip içerisinde yükleyeceğimiz resimler için ayar yapıyoruz. Bu moviClip her bir resmimiz için tek tek oluşturulacak.
  • Yükleme işlemini bildirmek için yükleniyor yazısı.
  • Bu movie clip’e resimlerin yüklenmesi için Flash Develop editöründe bir sınıf oluşturuyoruz.
  • Ana sınıfımızı yani projenin oluştuğu kodların olacağı sınıfı oluşturup işlemlerimizi bu sınıfta yapıyoruz.
  • Projeye Hazırlanış.
    • Öncelikle bir klasör oluşturalım. Klasörümüzün adı “ucBoyutluResimGalerisi” olsun.
    • Bu klasörün içerisinde “img” ve “efekt” adlı iki klasör oluşturuyoruz.
    • “img” klasöremize “.jpg” resimlerimzi yükleyeceğiz. Resimlerimizin kare boyutlarında ve ölçülerinin 110x110 olmasına dikkat edelim. Böylelikle ekranımızda daha şık bir görüntü elde etmiş oluruz.
    • “efekt” klasörümüzün içerisinde flash içerisinde kullanacağımız tween efektleri olacak. Bunları buradan indirebilirsiniz.
    • Ve daha sonra oluşturacağımız *.fla, *.as dosyalarımızda “ucBoyutluResimGalerisi” klasöründe bulunacaklar.

  • Yeni bir flash document oluşturuyoruz.
    • File -> New menüsünden yeni bir flash document oluşturalım
    • Dokümanımızın büyülüğünü width=1000px height=500 px olarak ayarlayalım.
    • Zemin rengini siyah yapalım.
    • Dosyamızı “ucBoyutluResimGalerisi.fla” olarak kayıt edelim.

  • Resimlerimizi eklemek için 110x100 boyutlarında bir movie clip oluşturuyoruz
    • Oluşturduğumuz flash dokümanımızın içerisinde Araçlar menüsünden “rectangle” aracını kullanarak 110x110 boyutlarında bir kare oluşturuyoruz. Bu kare bizim her bir resmimiz için yazacağımız kodlarla yeni bir örneği oluşacak.
    • Bu karenin çizgi rengini beyaz olarak ayarlıyoruz ve kalınlığını 5 yapıyoruz.
    • Çizgi içerisinde kalan kısmı rengini koyu gri yapabiliriz. Bu alana resim geleceğinden rengi çok önemli değil.
    • Oluşturduğumuz kareyi komple seçerek movieClip’e dönüştüroyoruz. İsmini fotoBack olarak belirliyoruz.
    • Movie Clip’ dönüştürürken Registration noktasını orta nokta yapıyoruz. Bunu yapmamızın nedeni resim büyüdüğünde orta noktadan büyümenin sağlanması içindir.
    • "Export for Action script" seçeneğini işaretleyip Linkage ismini FotoBack olarak belirliyoruz.
    • "Enable guides for 9 –slice scaling" seçeneğini işaretliyoruz. Bunun sebebi belirlediğimiz noktalardan itibaren resmi büyütmesini istememizdir.
    • Ok tuşuna basıp MovieClip oluşturuyoruz.

  • Bu movie Clip içerisinde yükleyeceğimiz resimler için ayar yapıyoruz. Bu moviClip her bir resmimiz için tek tek oluşturulacak.
    • Oluşturduğumuz “fotoBack”isimli movieClip mizin içerisine girip kesikli çizgileri çizgilerimizin kenarına doğru çekiyoruz.
    • Ekleyeceğimiz resimleri orta alana ekleyeceğimizden bu alanı da movieClip’e dönüştürüyoruz.
    • İsmini "resimPano" olarak ayarlıyoruz ve registration’u orta nokta yapıyoruz.
    • resimPano movieClip’i seçip “Instance Name” ini resimPano olarak ayarlıyoruz.

  • Yükleme işlemini bildirmek için yükleniyor yazısı.
    • fotoBack MovieCLip’e yeni bir “layer” açıp fotoBack movieClip’ imizin üstüne gelecek şekilde “Dynamic Text” ekliyoruz.
    • Bunun Instance Name’i “yuklemeYazi” olarak ayarlıyoruz.

  • Bu movie clip’e resimlerin yüklenmesi için Flash Develop editöründe bir sınıf oluşturuyoruz.
    • Flash develop editörümüzü açalım. File -> New -> AS3 Document’ i seçelim ve yeni bir class oluşmasını sağlayalım.
    • Oluşturduğumuz sınıfı .fla dosyamızın bulunduğu klasöre kayıt edelim. İsmini "fotoBack.as" verelim. Bunun nedeni flash içerisinde oluşturduğumuz Movie Clip ‘in ismi ile aynı olmak zorundadır.
    • Movie Clip içerisine fotograf yükleme işlemi yaptıracağımız kodlarımızı yazalım. Kodların içerisinde gerekli açıklamaları bulabilirsiniz.

      fotoBack.as
          package 
      {
      	import flash.display.Loader;
      	import flash.display.MovieClip;
      	import flash.events.Event;
      	import flash.events.ProgressEvent;
      	import flash.filters.BlurFilter;
      	import flash.net.URLLoader;
      	import flash.net.URLRequest;
      	
      	/**
      	$(CBI)* ...
      	$(CBI)* @author ...
      	$(CBI)*/
      	public class fotoBack extends MovieClip
      	{
      		private var path:String; //yükleyeceğimiz resim dosyalarımızın yolunu belirtmek için kullanacağız.
      		private var ldr:Loader; //resim yüklemek için Loader nesnesi tanıtıyoruz.
      		
      		//yapıcı sınıfımız "constructor" bu sınıfın bir örneği oluştuğunda
      		//direkt olarak yapıcı sınıf çalışacaktır. 
      		//Bu sınıftan örnek oluşturulurken bizden path bilgisi bekleyecektir.
      		
      		public function fotoBack(path:String):void
      		{
      			this.path = path; //yukarıda tanımladığımız path değişkenimize dışarıdan gelen path' i atıyoruz.
      			ldr = new Loader (); //Loader nesnesinin örneğini oluşturuyoruz.
      			ldr.load (new URLRequest(path)); //URLrequest ile path bilgisi bekliyoruz. Ve gelen adrsteki resmi yüklediyoruz.
      			
      			ldr.contentLoaderInfo.addEventListener (Event.COMPLETE, resimYukle);//Resim yükleme olayı tamamlandığında resimYukle fonsksiyonunu çalıştıryruz.
      			ldr.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, resimYukleniyor); //resim yüklenirken nekadarının yüklendiğini oluşturduğum dynamic
      			//text dosyamızda gösteriyoruz.
      			
      			
      			
      		}
      		private function resimYukleniyor (evt:ProgressEvent):void
      		{
      			//Resimlerimiz yüklenirken ekrana nekadar yüklendiği bilgisini gösteriyoruz.
      			yuklemeYazi.text = String(  Math.round ((evt.bytesLoaded / evt.bytesTotal) * 100));
      			
      		}
      		
      		private function resimYukle (evt:Event):void
      		{
      			//yükleme işlemi bitince ekrandaki yazıyı kaldırıyoruz.
      			yuklemeYazi.visible = false;
      			
      			ldr.x = -55; //Oluşturduğumuz fotoBack MovieClip mizin registration noktası ortası olduğundan
      			ldr.y = -55; //yüklenen resmimizi 0 noktasına almasını sağlıyoruz.
      			ldr.width = 110; //fotoback nesnemiz in boyutları 110 olduğundan yüklediğimiz resmin
      			ldr.height = 110; //110 height ve width ölçülerinde olmasını sağlıyoruz.
      			resimPano.addChild (ldr); //resmizi resimPano instance name'li nesnemizin içerisine yüklüyoruz.
      			
      		}
      	}
      	
      }
      
  • Ana sınıfımızı yani projenin oluştuğu kodların olacağı sınıfı oluşturup işlemlerimizi bu sınıfta yapıyoruz.
    • Yeni bir as3 document oluşturuyoruz. Bu dükümanımızda artık resim yükleme ve Mouse yönüne göre hareketlerimizi yapıyoruz.
    • Oluşturduğumuz sınıfı “ucBoyutluResim.as” olarak .fla doyamızın bulunduğu klasöre kayıt ediyoruz.
    • Flash Dokümanımızın class ismini "ucBoyutluResim.as" olarak belirliyoruz.

      ucBoyutluResim.as
      package 
      {
      	
      	import flash.display.MovieClip;
      	import efekt.*;
      	import efekt.easing.*;
      	import flash.events.*;
      	
      	
      	/**
      	$(CBI)* ...
      	$(CBI)* @author ...
      	$(CBI)*/
      	public class  ucBoyutluResim extends MovieClip
      	{
      		var container:MovieClip; //21 adet resmimiz olacağından bu resimleri bir movie clip içerisine eklemek için 
      		//container movie clibi tanımlıyoruz.
      		
      		var count: Number = 0; //Bu sayac resimlerimizin ilk satırda 7 adet yüklendikten sonra sıfırlaması için tanımlıyoruz.
      		var tiklanan:MovieClip; //tıklanan movieClip'i daha sonra bulunmasını sağlama için tanımlıyoruz.
      		
      		public function ucBoyutluResim ():void
      		{
      			container = new MovieClip();
      			container.x = 100;
      			container.y = 100;
      			
      			addChild(container);
      			
      			
      			for (var i:int = 1; i <21 ; i++) //resimlerimizi eklemek için for döngüsünden yararlanıyoruz.
      			{
      				var mc:fotoBack = new fotoBack("imgucBoyut/" + i + ".jpg");//fotoBack nesnemizin örneğini oluşturduk.
      				//Böylelikle her bir i değeri için fotoBack nesnemiz oluşturulacak ve resimlerimizi container nesnemize eklemiş olcağız.
      				
      				mc.x = 125 * count; //count değişkeninin modunu aldık. Yani 7'nin katıysa sıfırladık. Buda x ekseninin 7 satırdan oluacağını belirlemiş oluyoruz.
      				mc.y = 125 * Math.floor (i / 8); //y eksenide 7 satır dolduktan sonra aşağı geçmesi için i nin değerine 8'i böldürüyoruz.
      				
      				
      				container.addChild (mc);
      				
      				
      				
      				if (i % 7 == 0)
      				{
      					count = 0;
      				}
      				else
      				{
      					++ count;
      					
      				}
      				
      				mc.addEventListener (MouseEvent.ROLL_OVER, mouseUstunde);
      				mc.addEventListener(MouseEvent.ROLL_OUT, mouseDisinda);
      				mc.addEventListener(MouseEvent.CLICK, tiklandi);
      			}
      			
      			addEventListener (MouseEvent.MOUSE_MOVE , mouseOynuyor);
      		}
      		
      		private function mouseOynuyor(evt:MouseEvent):void
      		{
      			var yerX:Number = mouseX / 1000;
      			var yerY:Number = mouseY / 500;
      			trace (yerX, yerY);
      			
      			TweenLite.to (container, 2, {rotationY:(-60+(125*yerY)), rotationX : (60 -(125*yerX)),ease:Expo.easeOut } );
      			
      		}
      		
      		private function mouseUstunde(evt:MouseEvent):void
      		{
      			
      			var mc:MovieClip = evt.currentTarget as MovieClip;
      			if (tiklanan != mc)
      			{
      				mc.alpha = 0.2;		
      			}	
      			
      		}
      		
      		private function mouseDisinda(evt:MouseEvent):void
      		{
      			var mc:MovieClip = evt.currentTarget as MovieClip;
      			if (tiklanan != mc)
      			{
      				mc.alpha = 1;
      			}
      		}
      		
      		private function tiklandi(evt:MouseEvent):void
      		{
      			var mc:MovieClip = evt.currentTarget as MovieClip;
      			mc.alpha = 1;
      			
      			if (tiklanan == null)
      			{
      				container.addChild (mc);
      			
      			TweenLite.to (mc, 0.5, { scaleX:5, scaleY:5,ease:Expo.easeInOut} );
      			tiklanan = mc;
      				
      			}
      			else if (tiklanan == mc)
      			{
      				TweenLite.to (mc, 0.5, { scaleX:1, scaleY:1, ease:Expo.easeInOut } );
      				tiklanan = null;
      			}
      			else
      			{
      				TweenLite.to (tiklanan, 0.5, { scaleX:1, scaleY:1, ease:Expo.easeInOut } );
      				container.addChild(mc);
      				TweenLite.to (mc, 0.5, { scaleX:5, scaleY:5, ease:Expo.easeInOut } );
      				tiklanan = mc;
      				
      				
      			}
      			
      		
      			
      		}
      	}
      	
      }
      


29.01.2010
flash da AS3 ile web service kullanımı.

Flash ile web service kullanımı

Biliyoruzki Flex programı ile web service kullanımı gayet kolay. Buradan inceleyebilirsiniz. Peki biz web service' i flash içerisinde kullanacaksak ne yapmalıyız bunu anlatacağım.
  • Öncelikle flash programımıza flex'de kullanılan sdk 'ları yüklememiz gerekir.
    • Flash programını açıp. Yeni bir dökuman oluşturun.
    • File -> Publish Settings
    • flash sekmesini tıklayın
    • settings butonunu tıklayın
    • Library path sekmesini tıklayın
    • browse to SWC file butonunu tıklayın

    • Buradan framework.swc ve rpc.swc 'dosyalarını ekleyin. Ekranımızın görüntüsü aşağıdaki gibi olacaktır.

    • Artık kütüphanemiz projemize eklenmiş olacak.Ok tuşuna basarak ekranımızdan çıkalım. Ana projemize gelelim.
  • Artık kodlama ekranına geçebiliriz. Frame1'e gelerek F9 tuşuna basalım. Aşağıdaki kodlamayı yapalım.

        import mx.rpc.soap.*;
        import mx.core.*;
        import mx.rpc.events.*;
    

  • Ekranımıza bir adet buton yapalım. Ve butonun click olayını tanıtalım.

    • Ekrana siyah bir kare cizelim.
    • Çizilen kareyi tıklayarak F8 tuşuna basıp MovieClip nesnesine dönüştürelim.
    • Bu MovieClip üzerine gelecek bir şekilde tekrar bir kare çizelim
    • çizilen kareyi tıklayarak F8 tuşuna basalım. Bu sefer Button seçeneğini seçelim.
    • oluşturduğumuz Button nesnesini çift tıklayalım.
    • Layer1' i mouse ile tutarak Hit'e kadar sürükleyelim.
    • sahnemize geri dönelim.
    basit bir butonun yapılışını tekrar anlatmış olduk.

  • Butonumuzun click olayına aşağıdaki kodlamayı yapalım.
        //Yeni bir web service tanımlıyoruz.
        var mailWebService:WebService = new WebService();
    
        //Tanıttığımız servisimizi çağırıyoruz.
        mailWebService.loadWSDL("http://www.byhasanusta.com/service.asmx?wsdl")
    
        //Servisimizin yüklenmesi bittiğinde aşağıdaki fonksiyonu çalıştırıyoruz.
        mailWebService.addEventListener("load",webserviceYuklendi)
    
  • webserviceYuklendi fonksiyonunu aşağıdaki gibi hazırlayalım.

    function webserviceYuklendi(evt:LoadEvent):void
    {
    //bir Operation değişkeni tanımlıyoruz.
    var myOperation:Operation;
    
    //webservice adresimizdeki fonksiyonu çalıştırıyoruz.
    myOperation = Operation (mailWebService.getOperation("mailGonder"));
    
    //web service hata verirse faultEvent fonksiyonunu çağırıyoruz.
    myOperation.addEventListener("fault",webfault);
    
    //web service tamamlanınca resultEvent fonksiyonunu çağırıyoruz.
    myOperation.addEventListener ("result",webResult);
    
    //webservice' mizin yapısına göre parametre gönderiyoruz.
    myOperation.send(param1,param2,param3,mailadresi)
    }
    
  • webFault ve webResult fonksiyonları.
    function webFault (evt:FaultEvent):void
    {
    //hatayı trace komutu ile ekrana yazdırıyoruz. Dilerseniz bir text atayabilirsiniz.
    trace(evt.fault);
    }
    function webResult (evt:ResultEvent):void
    {
    //Dönen sonucu trace komutu ile yazdırıyoruz.
    trace(evt.result);
    }
    

Yapılması gerekenlerin hepsi Bu. bu şekilde bir webservice ile iletişime rahatlıkla geçebiliriz. Hatta geri gelen dataları işleyerek kullanabiliriz. Bu çok ayrıntılı bir konu olduğundan daha sonra yazılarımda yer vereceğim.



22.01.2010
Flash Develop editörünü kullanmak
AS3 ile kod yazarken işimizi kolaylaştıracak bir editörden bahsetmek istiyorum. Flash Develop editörü. Şimdi kısa olarak nasıl kullanacağımızı anlatacağım.

Bu adresten indirebilirsiniz :

FlashDevelop-3.0.6-RTM

1. Öncelikle programı indirip bilgisayarımıza yükleyelim.

2. flashDevelop programızı açalım.

File->New->AS3 Document

seçelim.

package 
{
	
	/**
	$(CBI)* ...
	$(CBI)* @author ...
	$(CBI)*/
	public class  
	{
		
	}
	
}

Yukarıdki gibi bir ekran gelecektir. Burası program tarafından otomatik oluşturulacaktır. Daha sonra biz class ismimizi belirteceğiz.

3.

package 
{
	import flash.display.MovieClip;
	
	/**
	$(CBI)* ...
	$(CBI)* @author ...
	$(CBI)*/
	public class  flashDevelopORNEK extends MovieClip
	{
		
	}
	
}

class ismimizi gördüğünüz gibi flashDevelopORNEK extends MovieClip olarak belirledik. Bu arada dikkat ettyiysenin program üst tarafa import flash.display.MovieClip; ekledi. Bunun anlamı özetle ben bu kodlamada MovieClip nameSpace'ine ait kodları kullanacağımdır.

4. Daha sonra fonksiyonumuzu aynı isimde tanımlıyoruz. Bu fonksiyon program akışının başlıyacağıfonksiyondur.

package 
{
	import flash.display.MovieClip;
	
	/**
	$(CBI)* ...
	$(CBI)* @author ...
	$(CBI)*/
	public class  flashDevelopORNEK extends MovieClip
	{
		public function flashDevelopORNEK():void
		{
			
		}
		
	}
	
}

fonskiyonumuzu public function flashDevelopORNEK():void şeklinde belirledik. Class ismimizle aynı olmasına dikkat edelim.

Bu dosyayı flash dosyamızın bulunduğu dizine kaydetmemiz gerekir.

Gelelim flash dosyamıza. Flash editörünü açalım. Yeni bir Flash Document oluşturalım. Bu dosyayıda .as dosyamızın olduğu klasöre kayıt edelim.

6. Evet şimdi yapmamız gerek sadece 1 adım kaldı. Flash Document'e gelelim ve sağ tarafta bulunan Properties seçeneğinden class yazan edit kutusuna flashDevelopORNEK yazalım. Sağ tarafındaki kaleme tıklıyalım.

Herşey doğruysa flash editörümüz .as dosyamızı açacaktır.

Artık rahat bir şekilde kodlarımızı yazabiliriz.

Bu herşeyin doğru olup olmadığı testi idi. Asıl kodlama ekranımız Flash Develop editörüdür.



21.01.2010
Flash AS3 ile XML den veri çekme.

Flash'da dinamik veri oluşturmak mümkündür. Dinamik veri derken gösterilecek bilginin sürekli güncel kalması ve bu güncellemeninde otomatik olarak bir dosyadan yapılmasının sağlanması olayıdır.


Birlikte bir uygulama yapacağız ve bu uygulamayla XML dosyadan resimleri çektireceğiz.

Flash' da kod yazmak için kolaylık olması açısında flash develop editörünü kullanıyorum. Fikir sahibi olmak isterseniz Buradan bakabilirsiniz.

Örnek projemiz:

Projeye hazırlık.

  • Flash dosyasının hazırlanışı
  • Flash Develop dosyasının hazırlanışı
  • XML dosyamızı hazırlanışı
  • Resimlerin ayarlanışı
  • Kodlamaya geçiş
  • Flash dosyasının hazırlanışı

    Öncelikle flash programımızı açıyoruz. Yeni bir document oluşturuyoruz. Bu dosyayı xmlVeriCekme.fla olarak kayıt ediyoruz.

    Not:Kayıt ettiğimiz dosyanın bulunduğu klasörde XML, .as, .fla dosyalarımız olacak.

  • Flash Develop dosyasının hazırlanışı

    • Flash develop editörümüzü açıyoruz.
    • File -> New -> AS3 Document seçiyoruz. Gördüğünüz gibi yeni bir as3 dosyası oluşturuldu.
    • public class'ımızı public class xmlVeriCekme extends MovieClip şeklinde ayarlıyoruz.
    • Akışı başlatacak fonksiyonumuzu oluşturuyoruz. public function xmlVeriCekme ():void
    • dosyamızı .fla dosyamızın bulunduğu klasöre kayıt ediyoruz.
    • flash dökümanımıza gelerek class ismini as dosyamızın ismini veriyoruz. Yani xmlVeriCekme olarak tanıtıyoruz.

    Gördüğünüz gibi .fla ve .as dosyalarımızı oluşturduk.

  • XML dosyamızın hazırlanışı

    XML dosyamızı hazırlamak için notepad editörünü kullanabiliriz. Yapıyı aşağıdaki gibi hazırlayalım.

    XML dosyamız :
    
    
       
       
       
       
    
    
    

    Dosyamızı .as, .fla dosyalarımızın yanına xmlVeriCekme.xml olarak kayıtedelim. Ben burada sadece 4 adet resim için XML dosyası hazırladım dilerseniz bu sayıyı artabilirsiniz. Hiç problem olmayacaktır.

  • ayarladığımız 4 adet resmi dosyalarımızı koyduğumuz klasörün altında img klasörü açalım ve buraya atalım. Resimlerimizin aynı boyutta olması daha iyi olacaktır.

  • klasör yapımız aşağıdaki gibi olacaktır.

  • Sıra geldi kodlamaya geçiş.

    • Özetle bunları yapacağız;
      • XML dosyamızı yükleyeceğiz
      • XML dosyamızın içerisindeki dosya yolunu kullanarak loader nesnesi ile image dosyalarımızı çekicez
      • Bunları teker teker sahnemize eklyeceğiz.
      • Ve animasyon yapacağız.
    • Flash develop editörümüze gelelim. Aşağıdaki kodlamayı yapalım. Kod' ların yanında açıklamalarını yazdım.
    • 
          package 
      {
      	import flash.display.Loader;
      	import flash.display.MovieClip;
      	import flash.events.Event;
      	import flash.net.URLLoader;
      	import flash.net.URLRequest;
      	import fl.transitions.Tween;
      	import fl.transitions.TweenEvent;
      	import fl.transitions.easing.*;
      	
      	
      	public class xmlVeriCekme extends MovieClip
      	{
      		public var xmlResim:XML; //genel kullanım için öncelikle bir xmlResim Değişkeni tanımlıyoruz.
      		public var xmlResimUzunlugu:int; //xmlResim nesnemizin uzunluğunu tutmak için tanımlama yaptık.
      		public var frame:uint = 0; //frame' i dinlemek için "frame" değişkeni tanımlıyoruz ve 0' ıncı kareden başlamasını istiyoruz.
      		public var resimLoader:Loader; //Resim yükleme için Loader nesnesi tanımlıyoruz.
      		public var a:uint = 0; //Bu değişken ile kaçıncı resimde olduğumuzu tespit edeceğiz.
      		public var rootPath:String; //XML dosyamızdaki resimlerin hangi klasörden çekileceğini bulmak için tanımlanan string değişkeni.
      		
      		public function xmlVeriCekme ():void
      		{
      			//xml dosyamızı çağırmak için URLLoader nesnesi tanımlıyoruz.
      			//URLLoader : text tabanlı dosyaları çağırmak amaçlı kullanılır.
      			//Loader : resim içerikli dosyaları (.jpg, .png) gibi çağırmak için kullanılır.
      			//URLLoader dosyasına request nesnesini atıyoruz.
      			//URLRequest içeriğindeki dosyamızı URLLoader nesnesine taşır.
      			
      			var xmlLoader:URLLoader = new URLLoader (new URLRequest("image/ornekler/xmlVeriCekme.xml"))
      			
      			//xmlLoader nesnemiz yüklendiğinde ilgili fonksiyonu çalıştırıyoruz
      			xmlLoader.addEventListener(Event.COMPLETE, 	xmlLoaderYuklendi);
      			
      			
      		}
      		
      		public function xmlLoaderYuklendi (evt:Event):void
      		{
      			//Tanımladığımız xml nesnesine xmlLoader'a yüklenen dosya içeriğini atıyoruz. 
      			//Bunun için yeni bir XML nesnesi oluşturduk (new XML)
      			//Şu andan itibaran xmlResim nesnemizin içerisinde bizim XML dosyamızın içeriği bulunmakta.
      			xmlResim = new XML (evt.target.data);
      			//XmlResim dosyamızın içindeki node' ların uzunluğunu xmlResimUzunlugu değişkenimize atıyoruz.
      			xmlResimUzunlugu = xmlResim.node.length();
      			
      			//Resim klasörüne erişiyoruz.
      			rootPath = xmlResim.@rootPath;
      			
      			//Bu aşamda resimlerimize animasyon vermiyeceksek for döngüsü ile sahnemize eklyebiliriz. 
      			//Fakat bu örnekte animasyon kullanacağımızdan Yani resimleri teker teker görmek istediğimizden dolayı 
      			//ENTER_FRAME Event' ından yararlanacağız.
      			
      			//Sahneye EnterFrame Event tanımlıyoruz.
      			addEventListener(Event.ENTER_FRAME, resimleriEkle)
      			
      			
      		}
      		
      		function resimleriEkle(evt:Event):void
      		{
      			frame += 1; //sahnemiz hareket halinde iken her seferinde frame değişkenimizi 1 arttıryoruz.
      			
      			if (frame == 1) //frame bir de dosya yüklemesi yapacağız.
      			{
      				//Tanımladığımız resimLoader nesnesinden yeni bir tane oluşturup dosyamızın yolunu bildiriyoruz.
      				// dosyamızın yolu resimXML nesnemizde kayıtlı.
      				resimLoader = new Loader () ;
      				resimLoader.load(new URLRequest(rootPath + xmlResim.node[a].@path));
      				
      				//yüklenen resmi sahneye eklemek için resimYuklemeTamam fonksiyonundan yararlanıyoruz.
      				resimLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, resimYuklemeTamam);
      				
      				
      				
      			}
      			if (frame == 120) //yani 5 sn. sonra yüklediğimiz dosyayı kaldıracağız.
      			{
      				//Yüklenen resmi sahneden kaldırıyoruzki yeni resim geldiğinde üstüne binmesin.
      				removeChildAt(0) 
      				//Bir sonraki resmi yüklemek için a değişkenini 1 arttırıyoruz.
      				a += 1;
      				
      				//frame' i sıfırlıyoruz ki olaylar tekrarlansın.
      				frame = 0;
      				
      				//eğer a değişkeni xmlResim dosyamızın node uzunluğuna geldiyse.
      				//yani resimler bittiyse. Tekrar baştan başlatıyoruz.
      				if (a == xmlResimUzunlugu) 
      				{
      					
      					a = 0;
      					
      				}
      			}
      		}
      		
      		function resimYuklemeTamam (evt:Event):void
      		{
      			//Resim taşmasını engellemek için resim yüklendikten sonra boyutlarını
      			//sahne boyutuna göre ayarlıyoruz.
      			resimLoader.width = stage.stageWidth;
      			resimLoader.height = stage.stageHeight;
      			
      			//animasyon yapacağımızdan dolayı sahnede gözükmeyen bir yere ekliyoruz. Yani soltaraftan -700 uzaklıkta.
      			resimLoader.x=-700;
      
      			//sahneye ekliyoruz. Ama şu an gözükmüyor. Çünkü x=-700 verdik.
      			addChild (resimLoader)
      			
      			//animasyon fonksiyonuna yönlendiriyoruz.
      			animasyonYap();
      		}
      
      	function animasyonYap():void
      		{
      			//Yeni bir tween tanımlıyoruz. Bu tween resimLoader' ın x pozisyonunu -700'den 0'a getirecek ve 
      			//bunları 2 saniyede yapacak. Bunları yaparken Bounce.easeOut efekti uygulayacak. Yani çarpıp geri gelme.
      			var tw1:Tween = new Tween (resimLoader,"x",Bounce.easeOut,-700,0,2,true);
      			
      			//Animasyon bittiğinde animasyonBitti fonksiyonunu çalıştıracağız.
      			tw1.addEventListener(TweenEvent.MOTION_FINISH,animasyonBitti)
      			
      		}
      		
      		public function animasyonBitti(evt:TweenEvent):void
      		{
      			//Bu fonksiyonda resimLoader nesnemizi sahneden sağ taraftan çıkartacaktır.
      			//Bütün bunlar 4 sn. içinde olacak. Beşinci saniyede olaylar tekrarlanmaya başlayacak.
      			//EnterFrame Event 'den dolayı.
      			var tw2:Tween = new Tween (resimLoader,"x",Bounce.easeIn,0,700,2,true);
      		
      		}
      		
      	}
      	
      }
      
      

Flash AS3 ile XML' den veri çekme olayını tamamlamış olduk.


Flash da AS3 ile yönlendirme navigateToURL.
Basit ama işimizi çok kolaylaştıracak bir konu anlatmak istiyorum. navigateToURL
Bazen bir kontrole basılınca başka bir siteye gitmesini isteyebiliriz. Yada bir flash menu yaptığımızda diğer bir sayfa gitmesini isteyebiliriz işte bu gibi durumlarda navigateToURL komutu işimizi görecektir.

Bunun için bir urlRequest nesnesi tanımlayıp yönlenecek siteyi belirtmemiz gerekir.

var req:URLRequest = new URLRequest ("http://www.byhasanusta.com")
navigateToURL(req,"_blank")

_blank (Boş bir sayfaya yönlendirir.)
_parent (Bulunduğumuz sayfada açar.)



01.12.2009
Flash Nedir?
Adobe firmasının geliştirmiş olduğu görsel içerik bakımından en güçlü editördür. Bu editör ile güçlü animasyonlar hazırlayabilirsiniz. Action Script 3.0 ile çok güçlü bir program alt yapısı sunmaktadır. Adobe firmasının eskiden oyun animasyonları hazırlamak için çıkardığı flash günümüzde çok güçlü bir yapıya sahiptir.
flash editürünün yeni versiyonu CS4


Bebeğimize isim seçiyoruz.


25 Nisan 2010 rüzgarlı bir Pazar akşamı saat 20:00 civarlarında Bebeğimiz FURKAN dünyaya merhaba dedi.

Ankete katılan tüm arkadaşlara Teşekkür ediyoruz.


FURKAN isminin anlamı